課程資訊
課程名稱
計算機程式設計
Computer Programming 
開課學期
106-2 
授課對象
 
授課教師
蘇國棟 
課號
EE4052 
課程識別碼
901 60200 
班次
01 
學分
2.0 
全/半年
半年 
必/選修
 
上課時間
星期三7,8,9(14:20~17:20) 
上課地點
 
備註
上課地點:計中212。A6:量化分析與數學素養
總人數上限:50人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1062EE4052_01 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

注意: 本課程需投入甚多時間撰寫程式,期末要完成繳交較大的期末計畫, 課業繁重或無法投入太多時間的同學請慎重考慮。

本課程係屬通識課程,以未寫過程式或初學的學生為授課對象,主要在教導學生如何撰寫計算機程式,讓電腦來執行以解決問題或讓生活更便利有趣,所要學習的語言是 Python。  

課程目標
能撰寫 Python 程式語言並順利執行可用電腦完成的任務。

The course is aimed at students with little or no prior programming experience who have desire to understand computational approaches to problem solving. The goal is to provide students with a brief introduction to many topics, so that they will have an idea of what’s possible when the time comes to think about how to use computation to accomplish a goal. After the class, students will learn to apply computational modes of thoughts to frame problems and to guide the process of extracting information from data in a computational manner. The primary knowledge you will take away from this book is the art of computational problem solving.

We braid together four strands of material:
• The basics of programming,
• The Python programming language,
• Concepts central to understanding computation, and
• Computational problem solving techniques.

We cover most of Python’s features, but the emphasis is on what one can do with a programming language, not on the language itself. For example, the first few classes have covered only a small fraction of Python, but it has already introduced the notions of exhaustive enumeration, guess-and-check algorithms, bisection search, and efficient approximation algorithms. We introduce features of Python throughout the lecture. Similarly, we introduce aspects of programming methods throughout the semester. The idea is to help students learn Python and how to be a good programmer in the context of using computation to solve interesting problems. It is my vision of this course to comfort students with computation technologies without sacrificing the speculations to daily life.
 
課程要求
具邏輯概念、大一數學能力,能花時間能努力學習

評分:
Homework: 60%
Midterm: 20%
Final: 20% 
預期每週課後學習時數
 
Office Hours
另約時間 備註: Appointment by E-mail 
指定閱讀
John V. Guttag, “Introduction to Computation and Programming Using Python”  
參考書目
http://mitpress.mit.edu/ICPPRE. 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第1週
2/28  228 National Holiday 
第2週
3/07  Introduction
 
第3週
3/14  Data Manipulation
 
第4週
3/21  Algorithms I
 
第5週
3/28  Algorithms II
 
第6週
4/04  Spring Break
 
第7週
4/11  Numerical Programs
 
第8週
4/18  For Loops
 
第9週
4/25  Midterm Exam
 
第10週
5/02  Function
 
第11週
5/09  Recursion
 
第12週
5/16  Testing and Debugging
 
第13週
5/23  Classes and Object Oriented Programming
 
第14週
5/30  Case Study I
 
第15週
6/06  Case Study II 
第16週
6/13  Case Study III 
第17週
6/20  Artificial Intelligence & Theory of Computation
 
第18週
6/27  Final Report due on July 4th